using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using Koda.Resources;

namespace Koda.Search
{
    public class VsItem
    {
        private string name;
        private string fullName;
        private VsItemType type;
        private uint index;
        private string fileName;

        public uint Index
        {
            get
            {
                return this.index;
            }
        }

        public VsItemType Type
        {
            get
            {
                return this.type;
            }
        }

        public Icon Icon
        {
            get
            {
                switch (this.type)
                {
                    case VsItemType.Class:
                        return Images.VSObject_Class;
                    case VsItemType.Enum:
                        return Images.VSObject_Enum;
                    case VsItemType.Interface:
                        return Images.VSObject_Interface;
                    case VsItemType.Delegate:
                        return Images.VSObject_Delegate;
                    case VsItemType.Structure:
                        return Images.VSObject_Structure;
                    case VsItemType.Method:
                        return Images.VSObject_Method;
                    case VsItemType.Field:
                        return Images.VSObject_Field;
                    case VsItemType.Property:
                        return Images.VSObject_Properties;
                    case VsItemType.Constant:
                        return Images.VSObject_Constant;
                    default:
                        return Images.VSObject_Unknown;
                }
            }
        }

        public string FullName
        {
            get
            {
                return this.fullName;
            }
        }

        public string Name
        {
            get
            {
                return this.name;
            }
        }

        public string FileName
        {
            get
            {
                return this.fileName;
            }
        }

        public VsItem(uint index, string name, string fullName, string fileName, VsItemType type)
        {
            this.index = index;
            this.name = name;
            this.fullName = fullName;
            this.type = type;
            this.fileName = fileName;
        }
    }
}